home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / AIncludes / TextEncodingConverter.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  9.4 KB  |  280 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        TextEncodingConverter.a
  3. ;
  4. ;    Contains:    Text Encoding Conversion Interfaces. 
  5. ;
  6. ;    Version:    Technology:    Mac OS 8
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1994-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__TEXTENCODINGCONVERTER__') = 'UNDEFINED' THEN
  18. __TEXTENCODINGCONVERTER__ SET 1
  19.  
  20.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  21.     include 'MacTypes.a'
  22.     ENDIF
  23.     IF &TYPE('__TEXTCOMMON__') = 'UNDEFINED' THEN
  24.     include 'TextCommon.a'
  25.     ENDIF
  26.  
  27. ; typedef OSType                         TECPluginSignature
  28.  
  29. ; typedef UInt32                         TECPluginVersion
  30.  
  31. ;  plugin signatures 
  32.  
  33. kTECSignature                    EQU        'encv'
  34. kTECUnicodePluginSignature        EQU        'puni'
  35. kTECJapanesePluginSignature        EQU        'pjpn'
  36. kTECChinesePluginSignature        EQU        'pzho'
  37. kTECKoreanPluginSignature        EQU        'pkor'
  38.  
  39. ;  converter object reference 
  40.  
  41.  
  42.  
  43.  
  44. ; typedef OSType                         TECPluginSig
  45.  
  46. TECConversionInfo        RECORD 0
  47. sourceEncoding             ds.l    1                ; offset: $0 (0)
  48. destinationEncoding         ds.l    1                ; offset: $4 (4)
  49. reserved1                 ds.w    1                ; offset: $8 (8)
  50. reserved2                 ds.w    1                ; offset: $A (10)
  51. sizeof                     EQU *                    ; size:   $C (12)
  52.                         ENDR
  53. ;  return number of encodings types supported by user's configuraton of the encoding converter 
  54. ;
  55. ; pascal OSStatus TECCountAvailableTextEncodings(ItemCount *numberEncodings)
  56. ;
  57.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  58.         IMPORT_CFM_FUNCTION TECCountAvailableTextEncodings
  59.     ENDIF
  60.  
  61. ;  fill in an array of type TextEncoding passed in by the user with types of encodings the current configuration of the encoder can handle. 
  62. ;
  63. ; pascal OSStatus TECGetAvailableTextEncodings(TextEncoding availableEncodings[2147483647], ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings)
  64. ;
  65.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  66.         IMPORT_CFM_FUNCTION TECGetAvailableTextEncodings
  67.     ENDIF
  68.  
  69. ;  return number of from-to encoding conversion pairs supported  
  70. ;
  71. ; pascal OSStatus TECCountDirectTextEncodingConversions(ItemCount *numberOfEncodings)
  72. ;
  73.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  74.         IMPORT_CFM_FUNCTION TECCountDirectTextEncodingConversions
  75.     ENDIF
  76.  
  77. ;  fill in an array of type TextEncodingPair passed in by the user with types of encoding pairs the current configuration of the encoder can handle. 
  78. ;
  79. ; pascal OSStatus TECGetDirectTextEncodingConversions(TECConversionInfo availableConversions[2147483647], ItemCount maxAvailableConversions, ItemCount *actualAvailableConversions)
  80. ;
  81.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  82.         IMPORT_CFM_FUNCTION TECGetDirectTextEncodingConversions
  83.     ENDIF
  84.  
  85. ;  return number of encodings a given encoding can be converter into 
  86. ;
  87. ; pascal OSStatus TECCountDestinationTextEncodings(TextEncoding inputEncoding, ItemCount *numberOfEncodings)
  88. ;
  89.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  90.         IMPORT_CFM_FUNCTION TECCountDestinationTextEncodings
  91.     ENDIF
  92.  
  93. ;  fill in an array of type TextEncodingPair passed in by the user with types of encodings pairs the current configuration of the encoder can handle. 
  94. ;
  95. ; pascal OSStatus TECGetDestinationTextEncodings(TextEncoding inputEncoding, TextEncoding destinationEncodings[2147483647], ItemCount maxDestinationEncodings, ItemCount *actualDestinationEncodings)
  96. ;
  97.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  98.         IMPORT_CFM_FUNCTION TECGetDestinationTextEncodings
  99.     ENDIF
  100.  
  101. ;  get info about a text encoding 
  102. ;
  103. ; pascal OSStatus TECGetTextEncodingInternetName(TextEncoding textEncoding, Str255 encodingName)
  104. ;
  105.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  106.         IMPORT_CFM_FUNCTION TECGetTextEncodingInternetName
  107.     ENDIF
  108.  
  109. ;
  110. ; pascal OSStatus TECGetTextEncodingFromInternetName(TextEncoding *textEncoding, ConstStr255Param encodingName)
  111. ;
  112.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  113.         IMPORT_CFM_FUNCTION TECGetTextEncodingFromInternetName
  114.     ENDIF
  115.  
  116. ;  create/dispose converters 
  117. ;
  118. ; pascal OSStatus TECCreateConverter(TECObjectRef *newEncodingConverter, TextEncoding inputEncoding, TextEncoding outputEncoding)
  119. ;
  120.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  121.         IMPORT_CFM_FUNCTION TECCreateConverter
  122.     ENDIF
  123.  
  124. ;
  125. ; pascal OSStatus TECCreateConverterFromPath(TECObjectRef *newEncodingConverter, const TextEncoding inPath[2147483647], ItemCount inEncodings)
  126. ;
  127.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  128.         IMPORT_CFM_FUNCTION TECCreateConverterFromPath
  129.     ENDIF
  130.  
  131. ;
  132. ; pascal OSStatus TECDisposeConverter(TECObjectRef newEncodingConverter)
  133. ;
  134.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  135.         IMPORT_CFM_FUNCTION TECDisposeConverter
  136.     ENDIF
  137.  
  138. ;  convert text encodings 
  139. ;
  140. ; pascal OSStatus TECClearConverterContextInfo(TECObjectRef encodingConverter)
  141. ;
  142.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  143.         IMPORT_CFM_FUNCTION TECClearConverterContextInfo
  144.     ENDIF
  145.  
  146. ;
  147. ; pascal OSStatus TECConvertText(TECObjectRef encodingConverter, ConstTextPtr inputBuffer, ByteCount inputBufferLength, ByteCount *actualInputLength, TextPtr outputBuffer, ByteCount outputBufferLength, ByteCount *actualOutputLength)
  148. ;
  149.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  150.         IMPORT_CFM_FUNCTION TECConvertText
  151.     ENDIF
  152.  
  153. ;
  154. ; pascal OSStatus TECFlushText(TECObjectRef encodingConverter, TextPtr outputBuffer, ByteCount outputBufferLength, ByteCount *actualOutputLength)
  155. ;
  156.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  157.         IMPORT_CFM_FUNCTION TECFlushText
  158.     ENDIF
  159.  
  160. ;  one-to-many routines 
  161. ;
  162. ; pascal OSStatus TECCountSubTextEncodings(TextEncoding inputEncoding, ItemCount *numberOfEncodings)
  163. ;
  164.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  165.         IMPORT_CFM_FUNCTION TECCountSubTextEncodings
  166.     ENDIF
  167.  
  168. ;
  169. ; pascal OSStatus TECGetSubTextEncodings(TextEncoding inputEncoding, TextEncoding subEncodings[2147483647], ItemCount maxSubEncodings, ItemCount *actualSubEncodings)
  170. ;
  171.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  172.         IMPORT_CFM_FUNCTION TECGetSubTextEncodings
  173.     ENDIF
  174.  
  175. ;
  176. ; pascal OSStatus TECGetEncodingList(TECObjectRef encodingConverter, ItemCount *numEncodings, Handle *encodingList)
  177. ;
  178.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  179.         IMPORT_CFM_FUNCTION TECGetEncodingList
  180.     ENDIF
  181.  
  182. ;
  183. ; pascal OSStatus TECCreateOneToManyConverter(TECObjectRef *newEncodingConverter, TextEncoding inputEncoding, ItemCount numOutputEncodings, const TextEncoding outputEncodings[2147483647])
  184. ;
  185.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  186.         IMPORT_CFM_FUNCTION TECCreateOneToManyConverter
  187.     ENDIF
  188.  
  189.  
  190. ;
  191. ; pascal OSStatus TECConvertTextToMultipleEncodings(TECObjectRef encodingConverter, ConstTextPtr inputBuffer, ByteCount inputBufferLength, ByteCount *actualInputLength, TextPtr outputBuffer, ByteCount outputBufferLength, ByteCount *actualOutputLength, TextEncodingRun outEncodingsBuffer[2147483647], ItemCount maxOutEncodingRuns, ItemCount *actualOutEncodingRuns)
  192. ;
  193.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  194.         IMPORT_CFM_FUNCTION TECConvertTextToMultipleEncodings
  195.     ENDIF
  196.  
  197. ;
  198. ; pascal OSStatus TECFlushMultipleEncodings(TECObjectRef encodingConverter, TextPtr outputBuffer, ByteCount outputBufferLength, ByteCount *actualOutputLength, TextEncodingRun outEncodingsBuffer[2147483647], ItemCount maxOutEncodingRuns, ItemCount *actualOutEncodingRuns)
  199. ;
  200.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  201.         IMPORT_CFM_FUNCTION TECFlushMultipleEncodings
  202.     ENDIF
  203.  
  204. ;  international internet info 
  205. ;
  206. ; pascal OSStatus TECCountWebTextEncodings(RegionCode locale, ItemCount *numberEncodings)
  207. ;
  208.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  209.         IMPORT_CFM_FUNCTION TECCountWebTextEncodings
  210.     ENDIF
  211.  
  212. ;
  213. ; pascal OSStatus TECGetWebTextEncodings(RegionCode locale, TextEncoding availableEncodings[2147483647], ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings)
  214. ;
  215.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  216.         IMPORT_CFM_FUNCTION TECGetWebTextEncodings
  217.     ENDIF
  218.  
  219. ;
  220. ; pascal OSStatus TECCountMailTextEncodings(RegionCode locale, ItemCount *numberEncodings)
  221. ;
  222.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  223.         IMPORT_CFM_FUNCTION TECCountMailTextEncodings
  224.     ENDIF
  225.  
  226. ;
  227. ; pascal OSStatus TECGetMailTextEncodings(RegionCode locale, TextEncoding availableEncodings[2147483647], ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings)
  228. ;
  229.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  230.         IMPORT_CFM_FUNCTION TECGetMailTextEncodings
  231.     ENDIF
  232.  
  233. ;  examine text encodings 
  234. ;
  235. ; pascal OSStatus TECCountAvailableSniffers(ItemCount *numberOfEncodings)
  236. ;
  237.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  238.         IMPORT_CFM_FUNCTION TECCountAvailableSniffers
  239.     ENDIF
  240.  
  241. ;
  242. ; pascal OSStatus TECGetAvailableSniffers(TextEncoding availableSniffers[2147483647], ItemCount maxAvailableSniffers, ItemCount *actualAvailableSniffers)
  243. ;
  244.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  245.         IMPORT_CFM_FUNCTION TECGetAvailableSniffers
  246.     ENDIF
  247.  
  248. ;
  249. ; pascal OSStatus TECCreateSniffer(TECSnifferObjectRef *encodingSniffer, TextEncoding testEncodings[2147483647], ItemCount numTextEncodings)
  250. ;
  251.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  252.         IMPORT_CFM_FUNCTION TECCreateSniffer
  253.     ENDIF
  254.  
  255. ;
  256. ; pascal OSStatus TECSniffTextEncoding(TECSnifferObjectRef encodingSniffer, TextPtr inputBuffer, ByteCount inputBufferLength, TextEncoding testEncodings[2147483647], ItemCount numTextEncodings, ItemCount numErrsArray[2147483647], ItemCount maxErrs, ItemCount numFeaturesArray[2147483647], ItemCount maxFeatures)
  257. ;
  258.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  259.         IMPORT_CFM_FUNCTION TECSniffTextEncoding
  260.     ENDIF
  261.  
  262. ;
  263. ; pascal OSStatus TECDisposeSniffer(TECSnifferObjectRef encodingSniffer)
  264. ;
  265.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  266.         IMPORT_CFM_FUNCTION TECDisposeSniffer
  267.     ENDIF
  268.  
  269. ;
  270. ; pascal OSStatus TECClearSnifferContextInfo(TECSnifferObjectRef encodingSniffer)
  271. ;
  272.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  273.         IMPORT_CFM_FUNCTION TECClearSnifferContextInfo
  274.     ENDIF
  275.  
  276.  
  277.  
  278.     ENDIF ; __TEXTENCODINGCONVERTER__ 
  279.  
  280.